package main

import "fmt"

func main()  {
	var num int
	fmt.Printf("请输入一个数 \n")
	fmt.Scan(&num)

	//go里面每一个case最后都默认带一个break,所以可以不写break，case一旦命中，立马跳出switch
	//fallthrough 是让switch不受break影响，强制执行除了命中项之外的其他操作
	switch num {
	case 1:
		fmt.Println("按下了1")
		fallthrough
	case 2:
		fmt.Println("按下了2")
		fallthrough
	case 3:
		fmt.Println("按下了3")
		fallthrough
	case 4:
		fmt.Println("按下了4")
		fallthrough
	default:
		fmt.Println("按下了XXX")
	}
	
	//直接初始化一个变量，并列对个之在一个case里
	switch a := 10; a {
	case 5:
		fmt.Println("5")
	case 6, 7, 9, 10:
		fmt.Println("6-10")
	default:
		fmt.Println("other")
	}

	//case 里直接写条件
	source := 91
	switch  {
	case source > 90:
		fmt.Println("优秀")
	case source > 80:
		fmt.Println("良好")
	case source > 70:
		fmt.Println("一般")
	case source < 70:
		fmt.Println("不及格")
	}
}
